#!/bin/bash

echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple RAW {64 128 256 512 1024 2048 : 8}
./mlsConsole 64 64 8 0 
./mlsConsole 128 128 8 0 
./mlsConsole 256 256 8 0 
./mlsConsole 512 512 8 0 
./mlsConsole 1024 1024 8 0 
./mlsConsole 2048 2048 8 0 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple OO {64 128 256 512 1024 2048 : 8}
./mlsConsole 64 64 8 1 
./mlsConsole 128 128 8 1 
./mlsConsole 256 256 8 1 
./mlsConsole 512 512 8 1 
./mlsConsole 1024 1024 8 1 
./mlsConsole 2048 2048 8 1 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple GPU:FS {64 128 256 512 1024 2048 : 8}
./mlsConsole 64 64 8 2 
./mlsConsole 128 128 8 2 
./mlsConsole 256 256 8 2 
./mlsConsole 512 512 8 2 
./mlsConsole 1024 1024 8 2 
./mlsConsole 2048 2048 8 2 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[2] {64 128 256 512 1024 2048 : 8}
./mlsConsole 64 64 8 3 2
./mlsConsole 128 128 8 3 2
./mlsConsole 256 256 8 3 2
./mlsConsole 512 512 8 3 2
./mlsConsole 1024 1024 8 3 2
./mlsConsole 2048 2048 8 3 2
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[4] {64 128 256 512 1024 2048 : 8}
./mlsConsole 64 64 8 3 4
./mlsConsole 128 128 8 3 4
./mlsConsole 256 256 8 3 4
./mlsConsole 512 512 8 3 4
./mlsConsole 1024 1024 8 3 4
./mlsConsole 2048 2048 8 3 4
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[8] {64 128 256 512 1024 2048 : 8}
./mlsConsole 64 64 8 3 8
./mlsConsole 128 128 8 3 8
./mlsConsole 256 256 8 3 8
./mlsConsole 512 512 8 3 8
./mlsConsole 1024 1024 8 3 8
./mlsConsole 2048 2048 8 3 8
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[16] {64 128 256 512 1024 2048 : 8}
./mlsConsole 64 64 8 3 16
./mlsConsole 128 128 8 3 16
./mlsConsole 256 256 8 3 16
./mlsConsole 512 512 8 3 16
./mlsConsole 1024 1024 8 3 16
./mlsConsole 2048 2048 8 3 16
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[32] {64 128 256 512 1024 2048 : 8}
./mlsConsole 64 64 8 3 32
./mlsConsole 128 128 8 3 32
./mlsConsole 256 256 8 3 32
./mlsConsole 512 512 8 3 32
./mlsConsole 1024 1024 8 3 32
./mlsConsole 2048 2048 8 3 32
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple RAW {512: 16 32 64 128 256 512}
./mlsConsole 512 512 16 0 
./mlsConsole 512 512 32 0 
./mlsConsole 512 512 64 0 
./mlsConsole 512 512 128 0 
./mlsConsole 512 512 256 0 
./mlsConsole 512 512 512 0 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple OO {512: 16 32 64 128 256 512}
./mlsConsole 512 512 16 1 
./mlsConsole 512 512 32 1 
./mlsConsole 512 512 64 1 
./mlsConsole 512 512 128 1 
./mlsConsole 512 512 256 1 
./mlsConsole 512 512 512 1 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple GPU:FS {512: 16 32 64 128 256 512}
./mlsConsole 512 512 16 2 
./mlsConsole 512 512 32 2 
./mlsConsole 512 512 64 2 
./mlsConsole 512 512 128 2 
./mlsConsole 512 512 256 2 
./mlsConsole 512 512 512 2 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[2] {512: 16 32 64 128 256 512}
./mlsConsole 512 512 16 3 2
./mlsConsole 512 512 32 3 2
./mlsConsole 512 512 64 3 2
./mlsConsole 512 512 128 3 2
./mlsConsole 512 512 256 3 2
./mlsConsole 512 512 512 3 2
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[4] {512: 16 32 64 128 256 512}
./mlsConsole 512 512 16 3 4
./mlsConsole 512 512 32 3 4
./mlsConsole 512 512 64 3 4
./mlsConsole 512 512 128 3 4
./mlsConsole 512 512 256 3 4
./mlsConsole 512 512 512 3 4
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[8] {512: 16 32 64 128 256 512}
./mlsConsole 512 512 16 3 8
./mlsConsole 512 512 32 3 8
./mlsConsole 512 512 64 3 8
./mlsConsole 512 512 128 3 8
./mlsConsole 512 512 256 3 8
./mlsConsole 512 512 512 3 8
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[16] {512: 16 32 64 128 256 512}
./mlsConsole 512 512 16 3 16
./mlsConsole 512 512 32 3 16
./mlsConsole 512 512 64 3 16
./mlsConsole 512 512 128 3 16
./mlsConsole 512 512 256 3 16
./mlsConsole 512 512 512 3 16
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[32] {512: 16 32 64 128 256 512}
./mlsConsole 512 512 16 3 32
./mlsConsole 512 512 32 3 32
./mlsConsole 512 512 64 3 32
./mlsConsole 512 512 128 3 32
./mlsConsole 512 512 256 3 32
./mlsConsole 512 512 512 3 32
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple RAW {1024: 16 32 64 128 256 512}
./mlsConsole 1024 1024 16 0 
./mlsConsole 1024 1024 32 0 
./mlsConsole 1024 1024 64 0 
./mlsConsole 1024 1024 128 0 
./mlsConsole 1024 1024 256 0 
./mlsConsole 1024 1024 512 0 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple OO {1024: 16 32 64 128 256 512}
./mlsConsole 1024 1024 16 1 
./mlsConsole 1024 1024 32 1 
./mlsConsole 1024 1024 64 1 
./mlsConsole 1024 1024 128 1 
./mlsConsole 1024 1024 256 1 
./mlsConsole 1024 1024 512 1 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple GPU:FS {1024: 16 32 64 128 256 512}
./mlsConsole 1024 1024 16 2 
./mlsConsole 1024 1024 32 2 
./mlsConsole 1024 1024 64 2 
./mlsConsole 1024 1024 128 2 
./mlsConsole 1024 1024 256 2 
./mlsConsole 1024 1024 512 2 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[2] {1024: 16 32 64 128 256 512}
./mlsConsole 1024 1024 16 3 2
./mlsConsole 1024 1024 32 3 2
./mlsConsole 1024 1024 64 3 2
./mlsConsole 1024 1024 128 3 2
./mlsConsole 1024 1024 256 3 2
./mlsConsole 1024 1024 512 3 2
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[4] {1024: 16 32 64 128 256 512}
./mlsConsole 1024 1024 16 3 4
./mlsConsole 1024 1024 32 3 4
./mlsConsole 1024 1024 64 3 4
./mlsConsole 1024 1024 128 3 4
./mlsConsole 1024 1024 256 3 4
./mlsConsole 1024 1024 512 3 4
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[8] {1024: 16 32 64 128 256 512}
./mlsConsole 1024 1024 16 3 8
./mlsConsole 1024 1024 32 3 8
./mlsConsole 1024 1024 64 3 8
./mlsConsole 1024 1024 128 3 8
./mlsConsole 1024 1024 256 3 8
./mlsConsole 1024 1024 512 3 8
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[16] {1024: 16 32 64 128 256 512}
./mlsConsole 1024 1024 16 3 16
./mlsConsole 1024 1024 32 3 16
./mlsConsole 1024 1024 64 3 16
./mlsConsole 1024 1024 128 3 16
./mlsConsole 1024 1024 256 3 16
./mlsConsole 1024 1024 512 3 16
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[32] {1024: 16 32 64 128 256 512}
./mlsConsole 1024 1024 16 3 32
./mlsConsole 1024 1024 32 3 32
./mlsConsole 1024 1024 64 3 32
./mlsConsole 1024 1024 128 3 32
./mlsConsole 1024 1024 256 3 32
./mlsConsole 1024 1024 512 3 32
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple RAW {2048: 16 32 64 128 256 512}
./mlsConsole 2048 2048 16 0 
./mlsConsole 2048 2048 32 0 
./mlsConsole 2048 2048 64 0 
./mlsConsole 2048 2048 128 0 
./mlsConsole 2048 2048 256 0 
./mlsConsole 2048 2048 512 0 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple OO {2048: 16 32 64 128 256 512}
./mlsConsole 2048 2048 16 1 
./mlsConsole 2048 2048 32 1 
./mlsConsole 2048 2048 64 1 
./mlsConsole 2048 2048 128 1 
./mlsConsole 2048 2048 256 1 
./mlsConsole 2048 2048 512 1 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple GPU:FS {2048: 16 32 64 128 256 512}
./mlsConsole 2048 2048 16 2 
./mlsConsole 2048 2048 32 2 
./mlsConsole 2048 2048 64 2 
./mlsConsole 2048 2048 128 2 
./mlsConsole 2048 2048 256 2 
./mlsConsole 2048 2048 512 2 
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[2] {2048: 16 32 64 128 256 512}
./mlsConsole 2048 2048 16 3 2
./mlsConsole 2048 2048 32 3 2
./mlsConsole 2048 2048 64 3 2
./mlsConsole 2048 2048 128 3 2
./mlsConsole 2048 2048 256 3 2
./mlsConsole 2048 2048 512 3 2
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[4] {2048: 16 32 64 128 256 512}
./mlsConsole 2048 2048 16 3 4
./mlsConsole 2048 2048 32 3 4
./mlsConsole 2048 2048 64 3 4
./mlsConsole 2048 2048 128 3 4
./mlsConsole 2048 2048 256 3 4
./mlsConsole 2048 2048 512 3 4
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[8] {2048: 16 32 64 128 256 512}
./mlsConsole 2048 2048 16 3 8
./mlsConsole 2048 2048 32 3 8
./mlsConsole 2048 2048 64 3 8
./mlsConsole 2048 2048 128 3 8
./mlsConsole 2048 2048 256 3 8
./mlsConsole 2048 2048 512 3 8
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[16] {2048: 16 32 64 128 256 512}
./mlsConsole 2048 2048 16 3 16
./mlsConsole 2048 2048 32 3 16
./mlsConsole 2048 2048 64 3 16
./mlsConsole 2048 2048 128 3 16
./mlsConsole 2048 2048 256 3 16
./mlsConsole 2048 2048 512 3 16
echo %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
echo Running mlsSimple multicore[32] {2048: 16 32 64 128 256 512}
./mlsConsole 2048 2048 16 3 32
./mlsConsole 2048 2048 32 3 32
./mlsConsole 2048 2048 64 3 32
./mlsConsole 2048 2048 128 3 32
./mlsConsole 2048 2048 256 3 32
./mlsConsole 2048 2048 512 3 32
